package cn.butcher.service;

import cn.butcher.vo.LeaveForm;
import cn.butcher.vo.StudentLeaveMsg;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface StudentService {

    String getNameById(@Param("id") int id);

    String getTeacherNameById(@Param("cId") int cId);

    int insertLeave(LeaveForm leaveForm);

    /**
     * 查询自己已通过审核的请假信息
     *
     * @param status 状态 代码复用
     * @return 请假信息列表
     */
    List<StudentLeaveMsg> getStudentLeaveMsg(char status, int id);

    /**
     * 提前销假，改变请假状态
     *
     * @param status 状态
     * @param id     请假编号
     * @return 成功返回1
     */
    int changeLeaveStatus(char status, int id);

    /**
     * 延期申请，我们就不记录延期，或者请假多少次了，直接在原来的表上改
     *
     * @param reason 延期原因
     * @param date   日期
     * @param id     请假编号
     * @return 成功返回1
     */
    int delayLeaveDate(String reason, String date, int id);

    void sendUrge(int leId) throws TencentCloudSDKException;
}
